
#include "count_days.h"


int is_leap(int year)
{
	if( ( year % 4 ==0 && year % 100 != 0 ) || year % 400 ==0 )
		return 1;
	else 
		return 0;
}

/*********************************************************
*函数名：get_days 
*描述：	获取从2000年开始计算到输入日期的天数
*输入：日期
*输出：天数
**********************************************************/
int get_days( int year, int month, int day)
{
	int month_days[] = { 31,28,31,30,31,30,31,31,30,31,30,31};
	int days=0;
	
	int y=2000;
	if( is_leap(year) == 1)
		month_days[1] = 29;
	while(y<year)
	{
		days=days+365+is_leap(y);
		y++;
	}
	y=1;
	while(y<month)
	{
		days=days+month_days[y-1];
		y++;
	}
	return days+day;
}


/*********************************************************
*函数名：twodates_to_days
*描述： 计算两个日期之间隔的天数
*输入：两个日期
*输出：两个日期隔的天数
**********************************************************/
int twodates_to_days(int year1, int month1, int day1, int year2, int month2, int day2)
{
	int temp1,temp2;
	temp1 = get_days(year1,month1,day1);
	temp2 = get_days(year2,month2,day2);
	if(temp2 < temp1)
		return -1;
	return abs(temp2-temp1);
}




